package tp.janikowCaminos;

import java.util.ArrayList;
import java.util.List;

public class Cliente {
	String nombre;
	String apellido;
	int dni;
	List<Prestamo> prestamos;
	SeguroDeVida seguro;

	Cliente(String nombre, String apellido, int dni) {
		this.apellido = apellido;
		this.dni = dni;
		this.nombre = nombre;
		this.prestamos = new ArrayList<Prestamo>();

	}

	public boolean estaAlLimiteDePrestamos() {
		int contador = 0;
		for (int i = 0; i < this.prestamos.size(); i++) {
			if (!(this.prestamos.get(i).estaFinalizado() || this.prestamos.get(
					i).estaRechazado())) {
				contador++;
			}
		}
		return (contador == 2);
	}

	public void asignarPrestamo(Prestamo prestamo) {
		prestamo.cambiarEstadoCorrespondiente((this.estaAlLimiteDePrestamos())
				|| this.esDeudor());
		this.prestamos.add(prestamo);
	}

	public boolean esDeudor() {
		Boolean contador = false;
		for (int i = 0; i < this.prestamos.size(); i++) {
			if ((this.prestamos.get(i).estaEnDeuda())
					|| this.prestamos.get(i).estaDeudorIncobrable()
					|| contador == true) {
				contador = true;
			}
		}
		return contador;

	}

	public void pagarCuota(Prestamo prestamo) {
		prestamo.pagarCuota();
	}

	public int getDNI() {
		return this.dni;
	}

	public String getApellido() {
		return this.apellido;
	}

	public void asignarSeguro(SeguroDeVida seguro) {
		// TODO Auto-generated method stub
		this.seguro = seguro;

	}

}
